首发:吴恩达的 CS229的数学基础(线性代数),有人把它做成了在线翻译版本!
本文是斯坦福大学 CS 229 机器学习课程的基础材料,是斯坦福各大人工智能课程的数学基础,本文为线性代数部分,原始文件下载[1]
原文作者:Zico Kolter,修改:Chuong Do, Tengyu Ma
翻译:黄海广[2]
备注:请关注github[3]的更新,线性代数和概率论已经更新完毕。
线性代数复习和参考
1. 基础概念和符号
线性代数提供了一种紧凑地表示和操作线性方程组的方法。例如,以下方程组:
这是两个方程和两个变量,正如你从高中代数中所知,你可以找到 和 的唯一解(除非方程以某种方式退化,例如,如果第二个方程只是第一个的倍数,但在上面的情况下,实际上只有一个唯一解)。在矩阵表示法中,我们可以更紧凑地表达:
我们可以看到,这种形式的线性方程有许多优点(比如明显地节省空间)(备注:此处笔误,b应该是-13和9)。
1.1 基本符号
我们使用以下符号:
,表示 为由实数组成具有行和列的矩阵。
,表示具有个元素的向量。 通常,向量将表示列向量: 即,具有行和列的矩阵。 如果我们想要明确地表示行向量: 具有 行和列的矩阵 - 我们通常写(这里的转置)。
表示向量的第个元素
我们使用符号 (或 , 等)来表示第 行和第 列中的 的元素:
我们用 或者 表示矩阵 的第 列:
我们用 或者 表示矩阵 的第 行:
在许多情况下,将矩阵视为列向量或行向量的集合非常重要且方便。 通常,在向量而不是标量上操作在数学上(和概念上)更清晰。只要明确定义了符号,用于矩阵的列或行的表示方式并没有通用约定。
2.矩阵乘法
两个矩阵相乘,其中
其中:
请注意,为了使矩阵乘积存在,
2.1 向量-向量乘法
给定两个向量
注意:
给定向量
举一个外积如何使用的一个例子:让
2.2 矩阵-向量乘法
给定矩阵
如果我们按行写
换句话说,第
同样的, 可以把 A 写成列的方式,则公式如下:,
换句话说,
到目前为止,我们一直在右侧乘以列向量,但也可以在左侧乘以行向量。这是写的,
第一种情况,我们把
这表明
最后,根据行表示
所以我们看到
2.3 矩阵-矩阵乘法
有了这些知识,我们现在可以看看四种不同的(形式不同,但结果是相同的)矩阵-矩阵乘法:也就是本节开头所定义的
首先,我们可以将矩阵 - 矩阵乘法视为一组向量-向量乘积。从定义中可以得出:最明显的观点是
这里的
换句话说,
其次,我们还可以将矩阵 - 矩阵乘法视为一组矩阵向量积。如果我们把
这里
这里第
将矩阵乘法剖析到如此大的程度似乎有点过分,特别是当所有这些观点都紧跟在我们在本节开头给出的初始定义(在一行数学中)之后。
这些不同方法的直接优势在于它们允许您在向量的级别/单位而不是标量上进行操作。 为了完全理解线性代数而不会迷失在复杂的索引操作中,关键是要用尽可能多的概念进行操作。
实际上所有的线性代数都处理某种矩阵乘法,花一些时间对这里提出的观点进行直观的理解是非常必要的。
除此之外,了解一些更高级别的矩阵乘法的基本属性是很有必要的:
矩阵乘法结合律:
矩阵乘法分配律:
矩阵乘法通常不是可交换的; 也就是说,通常
。 (例如,假设, ,如果 和 不相等,矩阵乘积 甚至不存在!)
如果您不熟悉这些属性,请花点时间自己验证它们。 例如,为了检查矩阵乘法的相关性,假设
3 运算和属性
在本节中,我们介绍矩阵和向量的几种运算和属性。希望能够为您复习大量此类内容,这些笔记可以作为这些主题的参考。
3.1 单位矩阵和对角矩阵
单位矩阵,
对于所有
注意,在某种意义上,单位矩阵的表示法是不明确的,因为它没有指定
对角矩阵是一种这样的矩阵:对角线之外的元素全为 0。对角阵通常表示为:
很明显:单位矩阵
3.2 转置
矩阵的转置是指翻转矩阵的行和列。
给定一个矩阵:
事实上,我们在描述行向量时已经使用了转置,因为列向量的转置自然是行向量。
转置的以下属性很容易验证:
3.3 对称矩阵
如果
上面公式的右边的第一个矩阵是对称矩阵,而第二个矩阵是反对称矩阵。事实证明,对称矩阵在实践中用到很多,它们有很多很好的属性,我们很快就会看到它们。通常将大小为
3.4 矩阵的迹
方矩阵
如CS229讲义中所述,迹具有以下属性(如下所示):
对于矩阵 ,则:对于矩阵 ,则:对于矩阵 , ,则: .对于矩阵 , , 为方阵, 则:对于矩阵 , , , 为方阵, 则: , 同理,更多矩阵的积也是有这个性质。
这里,第一个和最后两个等式使用迹运算符和矩阵乘法的定义,重点在第四个等式,使用标量乘法的可交换性来反转每个乘积中的项的顺序,以及标量加法的可交换性和相关性,以便重新排列求和的顺序。
3.5 范数
向量的范数
注意:
更正式地,范数是满足 4 个属性的函数(
对于所有的 , (非负).当且仅当 时, (明确性).对于所有 , ,则 (正齐次性).对于所有 , (三角不等式)
其他范数的例子是
和
事实上,到目前为止所提出的所有三个范数都是
也可以为矩阵定义范数,例如Frobenius范数:
许多其他更多的范数,但它们超出了这个复习材料的范围。
3.6 线性相关性和秩
一组向量
对于某些标量值
是线性相关的,因为:
矩阵
对于 , ,如果 ,则: 被称作满秩。对于 ,对于 , ,对于 ,
3.7 方阵的逆
方阵
请注意,并非所有矩阵都具有逆。例如,非方形矩阵根据定义没有逆。然而,对于一些方形矩阵
因此,该矩阵通常表示为 。作为如何使用逆的示例,考虑线性方程组, ,其中 , , 如果 是非奇异的(即可逆的),那么 。(如果 不是方阵,这公式还有用吗?)
3.8 正交阵
如果
它可以从正交性和正态性的定义中得出:
换句话说,正交矩阵的逆是其转置。注意,如果
对于任何
3.9 矩阵的值域和零空间
一组向量
可以证明,如果
向量
我们将投影表示为
矩阵
做一些技术性的假设(即
这个最后的方程应该看起来非常熟悉,因为它几乎与我们在课程中(我们将很快再次得出)得到的公式:用于参数的最小二乘估计一样。看一下投影的定义,显而易见,这实际上是我们在最小二乘问题中最小化的目标(除了范数的平方这里有点不一样,这不会影响找到最优解),所以这些问题自然是非常相关的。
当
一个矩阵
注意,
换句话说,
3.10 行列式
一个方阵
给定一个矩阵:
考虑通过采用
事实证明,
比方说:一个
它的矩阵的行是:
对应于这些行对应的集合
在三维中,集合
图 1:(4)中给出的
在代数上,行列式满足以下三个属性(所有其他属性都遵循这些属性,包括通用公式):
恒等式的行列式为 1,
(几何上,单位超立方体的体积为 1)。给定一个矩阵
, 如果我们将 中的一行乘上一个标量 ,那么新矩阵的行列式是
几何上,将集合
如果我们交换任意两行在 和 ,那么新矩阵的行列式是 ,例如:
你一定很奇怪,满足上述三个属性的函数的存在并不多。事实上,这样的函数确实存在,而且是唯一的(我们在这里不再证明了)。
从上述三个属性中得出的几个属性包括:
对于 ,对于 ,对于 , 有且只有当 是奇异的(比如不可逆) ,则:对于 同时, 为非奇异的,则:
在给出行列式的一般定义之前,我们定义,对于
对于
矩阵
(注意索引
虽然这是一个很好的“显式”的逆矩阵公式,但我们应该注意,从数字上讲,有很多更有效的方法来计算逆矩阵。
3.11 二次型和半正定矩阵
给定方矩阵
注意:
第一个等号的是因为是标量的转置与自身相等,而第二个等号是因为是我们平均两个本身相等的量。由此,我们可以得出结论,只有
对于所有非零向量
, ,对称阵 为正定(positive definite,PD)。这通常表示为 (或 ),并且通常将所有正定矩阵的集合表示为 。对于所有向量
,对称矩阵 是半正定(positive semidefinite ,PSD)。这写为(或 仅 ),并且所有半正定矩阵的集合通常表示为 。同样,对称矩阵
是负定(negative definite,ND),如果对于所有非零 ,则 表示为 (或 )。类似地,对称矩阵
是半负定(negative semidefinite,NSD),如果对于所有 ,则 表示为 (或 )。最后,对称矩阵
是不定的,如果它既不是正半定也不是负半定,即,如果存在 ,那么 且 。
很明显,如果
正定矩阵和负定矩阵的一个重要性质是它们总是满秩,因此是可逆的。为了了解这是为什么,假设某个矩阵
对于某些
但这意味着对于某些非零向量
3.12 特征值和特征向量
给定一个方阵
直观地说,这个定义意味着将
我们可以重写上面的等式来说明
但是
现在,我们可以使用行列式的先前定义将表达式
然后我们找到这个特征多项式的
应该注意的是,这不是实际用于数值计算特征值和特征向量的方法(记住行列式的完全展开式有
以下是特征值和特征向量的属性(所有假设在
的迹等于其特征值之和 的行列式等于其特征值的乘积 的秩等于 的非零特征值的个数假设
非奇异,其特征值为 和特征向量为 。那么 是具有相关特征向量 的 的特征值,即 。(要证明这一点,取特征向量方程, ,两边都左乘 )对角阵的特征值
实际上就是对角元素, ,
3.13 对称矩阵的特征值和特征向量
通常情况下,一般的方阵的特征值和特征向量的结构可以很细微地表示出来。值得庆幸的是,在机器学习的大多数场景下,处理对称实矩阵就足够了,其处理的对称实矩阵的特征值和特征向量具有显着的特性。
在本节中,我们假设
的所有特征值都是实数。我们用用 表示。存在一组特征向量
,对于所有, , 是具有特征值 和 的特征向量。 是单位向量并且彼此正交。,
设
设
考虑到正交矩阵
这种
背景知识:代表另一个基的向量。
任何正交矩阵
在第二个等式中,我们使用矩阵和向量相乘的方法。实际上,这种
换句话说,向量
“对角化”矩阵向量乘法。通过上面的设置,我们将看到左乘矩阵
我们可以看到,原始空间中的左乘矩阵
“对角化”二次型。作为直接的推论,二次型
(回想一下,在旧的表示法中,涉及一个
如果所有的 ,则矩阵 正定的,因为对于任意的 ,如果所有的 ,则矩阵 是为正半定,因为对于任意的 ,同样,如果所有 或 ,则矩阵 分别为负定或半负定。最后,如果 同时具有正特征值和负特征值,比如 λ 和 ,那么它是不定的。这是因为如果我们让 满足 和 ,同时所有的 ,那么 ,我们让 满足 和 ,同时所有的 ,那么
特征值和特征向量经常出现的应用是最大化矩阵的某些函数。特别是对于矩阵
也就是说,我们要找到(范数 1)的向量,它使二次型最大化。假设特征值的阶数为
,我们可以将上面那个优化问题改写为:
然后,我们得到目标的上界为
此外,设置
4.矩阵微积分
虽然前面章节中的主题通常包含在线性代数的标准课程中,但似乎很少涉及(我们将广泛使用)的一个主题是微积分扩展到向量设置展。尽管我们使用的所有实际微积分都是相对微不足道的,但是符号通常会使事情看起来比实际困难得多。 在本节中,我们将介绍矩阵微积分的一些基本定义,并提供一些示例。
4.1 梯度
假设
即,
请注意,
重要的是要记住,只有当函数是实值时,即如果函数返回标量值,才定义函数的梯度。例如,
对于
,
原则上,梯度是偏导数对多变量函数的自然延伸。然而,在实践中,由于符号的原因,使用梯度有时是很困难的。例如,假设
该表达式应该如何解释? 至少有两种可能性: 1.在第一个解释中,回想起
2.在第二种解释中,我们将数量
在这里,我们可以看到这两种解释确实不同。 一种解释产生
这里,关键是要明确我们要区分的变量。
在第一种情况下,我们将函数
我们将第一种情况表示为
保持符号清晰是非常重要的,以后完成课程作业时候你就会发现。
这是黑塞矩阵第
简单地说:我们可以说由于:
最后,请注意,虽然我们可以对矩阵
4.2 黑塞矩阵
假设
换句话说,
注意:黑塞矩阵通常是对称阵:
与梯度相似,只有当
很自然地认为梯度与向量函数的一阶导数的相似,而黑塞矩阵与二阶导数的相似(我们使用的符号也暗示了这种关系)。 这种直觉通常是正确的,但需要记住以下几个注意事项。
首先,对于一个变量
然而,对于向量的函数,函数的梯度是一个向量,我们不能取向量的梯度,即:
上面这个表达式没有意义。 因此,黑塞矩阵不是梯度的梯度。 然而,下面这种情况却这几乎是正确的:如果我们看一下梯度
这是黑塞矩阵第
简单地说:我们可以说由于:
最后,请注意,虽然我们可以对矩阵
4.3 二次函数和线性函数的梯度和黑塞矩阵
现在让我们尝试确定几个简单函数的梯度和黑塞矩阵。 应该注意的是,这里给出的所有梯度都是CS229讲义中给出的梯度的特殊情况。
对于
所以:
由此我们可以很容易地看出
为了取偏导数,我们将分别考虑包括
最后一个等式,是因为
最后,让我们来看看二次函数
因此,应该很清楚
简要概括起来:
(如果 是对称阵) (如果 是对称阵)
4.4 最小二乘法
让我们应用上一节中得到的方程来推导最小二乘方程。假设我们得到矩阵
使用公式
根据
将最后一个表达式设置为零,然后解出
这和我们在课堂上得到的相同。
4.5 行列式的梯度
现在让我们考虑一种情况,我们找到一个函数相对于矩阵的梯度,也就是说,对于
所以:
从这里可以知道,它直接从伴随矩阵的性质得出:
现在我们来考虑函数
从这一点可以明显看出:
我们可以在最后一个表达式中删除转置,因为
4.6 特征值优化
最后,我们使用矩阵演算以直接导致特征值/特征向量分析的方式求解优化问题。 考虑以下等式约束优化问题:
对于对称矩阵
其中,
请注意,这只是线性方程
参考资料
[1]原始文件下载: http://cs229.stanford.edu/summer2019/cs229-linalg.pdf
[2]黄海广: https://github.com/fengdu78
[3]github: https://github.com/fengdu78/Data-Science-Notes/tree/master/0.math
关于本站
往期精彩回顾